package io.renren.modules.test.controller;

import io.renren.common.utils.R;
import io.renren.modules.sys.entity.SysRoleEntity;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author
 * @date 2021 年 10 月 25 日
 */
@RestController
@RequestMapping("/test/model")
public class testController {


    @RequestMapping("/add")
    public  int test(@RequestBody String s){
        System.out.println(s);
        System.out.println("_____________");

        return 1;
    }
    @PostMapping("/post")
    public  int test2(@RequestBody String  s){
        System.out.println(s);
        System.out.println("+++++++++++++");
        return 2;
    }
    @PostMapping("/test")
    public  int test3(@RequestParam String  s){
        System.out.println(s);
        System.out.println("+++++++++++++");
        return 3;
    }
    @PostMapping("/test2")
    public  int  test4(String s){

        System.out.println(s);
        System.out.println(s.length());
        return  4;
    }





    @GetMapping("/selectQueryEmployee")
    public R selectQueryEmployee(@RequestBody SysRoleEntity employee){
        /*
         * 使用employee去接收查询的条件， 例如部门 ，组别 ，权限，用户名
         * 可使用新定义的一个类去接受  这些参数 ，也可以去传入一个map之后掉用人人中封装的一个query ，
         *  进行page的封装，之后在map里取部门、组别等的一些值，之后使用queryWrapper 封装这些属性 ，然后查询
         *  这些也可能人人框架自动生成了 ， 然后调用
         * 判断员工的权限 ， 可已查询到的用户数量
         *  getUserId() 去获取当前登录的人，确定他的权限  ，之后再去封装查询的条件，之后进行查询
         *   要求满足其他的查询条件， 递归查询的时候要在parentId满足条件 ，递归的时候查询条件复杂点
        * */
             if (""=="总经理"||""=="总监"){
                 //查所有
             }
            if(""=="部门经理"){
                 //查本部门  //获取部门经理的id，查找的时候会获取parentId为他的  ，要进行递归查询
            }
            if(""=="部门"){
                //查本组的信息    获取部门小组的id，查找的时候根据parentId为他的，递归查询 ，同上代码

            }
            if (""=="不同员工"){
                //展示个人的员工  ，      //只查询自己的id值的 ， 单个查询
            }
          List  list = new ArrayList<>();
        return  R.ok().put("List",list);
    }
    @PostMapping("/addEmployee")
    public R addEmployee(@RequestBody SysRoleEntity employee){   //之后改用对应的实体类
        //查找用户的用户角色 ，判断用户的能创建的用户类型 ， 如果类型超过允许的情况，会认为越权，
        //设置响应的属性 ， 之后创建一个用户的实体对象 ，赋值

        return  R.ok();
    }
    @PostMapping("/updateEmployee")
    public R updateEmployee(@RequestBody SysRoleEntity employee){
        //查找用户的用户角色 ，判断用户的能创建的用户类型 ， 如果类型超过允许的情况，会认为越权，
        //更新用户信息，
        return  R.ok();
    }
    //重置密码
    @PostMapping("/resetPwdEmployee")
    public R  resetPwd(@RequestBody SysRoleEntity employee){
        //设置重置的密码，可以按照一定的规则生成；
        return  R.ok();

    }
}
